package day06;
/*
需求：《主持人大赛》有N位评委打分
                选手的最终得分：去掉最高分和最低分之后的N-2位评委的平均分
要求：使用方法实现
 */

import java.util.Scanner;

public class CalTotalAvg {
    public static void main(String[] args) {

        double[] scores = inputData(6);//1)录入评委的评分
        double avg = calAvg(scores);        //2)计算平均分
        System.out.printf("平均分为："+avg);

    }
//    该方法用于录入N位评委的评分
    public static double[] inputData(int n){//评分是浮点型 有参有返回值
        double[] scores = new double[n];//声明一个评分组的数组
        Scanner scan = new Scanner(System.in);
        for(int i=0;i<scores.length;i++){
            System.out.println("请录入第"+(i+1)+"位评委的分数:");
            scores[i] = scan.nextDouble();
        }
        return scores;
    }
//计算平均分
    public static double calAvg(double[] scores){
        double total = 0.0;//总分
        double max = scores[0];//假设第一个元素为最高
        double min = scores[0];//假设第一个元素为最低
        for (int i=0;i<scores.length;i++){
            total +=scores[i];//累加所有的评分
            if (scores[i]>max){//找最高分
                max = scores[i];
            }
            if (scores[i]<min){//找最低分
                min = scores[i];
            }
        }
        //计算平均分--总分减掉最高分和最低分之后，在除以（评委数-2）
        double avg = (total-min-max)/(scores.length-2);//平均分

        return avg;
    }


}
